// import {
// 	mapState
// } from 'vuex'
// import home from '@/api/_home.js'
// import classmate from '@/api/_classmate.js'
// import user from '@/api/_user.js'
import {
	BASE_URL
} from "@/api/config.js";
import user from '@/api/_user.js'
export default {
	data() {
		return {
			
		};
	},
	onPageScroll(e) {
		// console.log(e)
		if(e.scrollTop>0){
			this.alpha=false
		}else{
			this.alpha=true
		}
	},
	onShareAppMessage(res) {
		return {
			path: '', // 标题
			title: '飞象云游',
			imageUrl: '', // 分享图
			desc: '飞象云游'
		};
	},
	onShareTimeline() {
		return {
			path: '', // 标题
			title: '飞象云游',
			imageUrl: '', // 分享图
			desc: '飞象云游'
		};
	},
	
	
	computed: {
		// ...mapState({
		// 	users: state => state.user,
		// 	userInfo: state => state.user.userInfo,
		// }),
		URL() {
			return (url) => {
				// if (!url) return require('@/static/logo.png')
				if (url && (url.includes(',') && !url.includes('base64'))) url = url.split(',')[0]
				return url ? ((url.includes('http') || url.includes('data:')) ? url : BASE_URL + url) : ''
			}
		},
		// 年龄计算
		/**
		 * 通过出生日期获取当前年龄
		 * @param strBirthday：指的是出生日期，格式为"1990-01-01",字符串类型
		 */

		getCurrentAgeByBirthDate() {
			return (strBirthday) => {
				if (!strBirthday) {
					return 0
				}
				// 将出生日期的字符串通过"-"分割成数组
				const strBirthdayArr = strBirthday.split("-")
				// 拿到出生日期的年
				const birthYear = strBirthdayArr[0]
				// 拿到出生日期的月
				const birthMonth = strBirthdayArr[1]
				// 拿到出生日期的日
				const birthDay = strBirthdayArr[2]
				// 创建一个时间对象
				const d = new Date()
				// 拿到当前时间的年
				const nowYear = d.getFullYear()
				// 拿到当前时间的月
				const nowMonth = d.getMonth() + 1
				// 拿到当前时间的日
				const nowDay = d.getDate()
				// 如果出生日期的年等于当前时间的年
				if (nowYear === birthYear) return 0 // 返回周岁年龄 0,并终止函数执行
				// 如果如果出生日期的年不等于于当前时间的年,则拿到年之差
				const ageDiff = nowYear - birthYear; // 年之差
				// 如果年之差是个负数,则表示用户输入的出生日期错误,晚于今天,返回 -1,并终止函数执行
				if (ageDiff < 0) return -1 // 返回错误 -1,并终止函数执行
				// 如果年之差是个正整数,但出生日期的月与当前时间的月不相等
				if (nowMonth !== birthMonth) {
					// 拿到出生日期的日与当前时间的月之差
					const monthDiff = nowMonth - birthMonth; // 月之差
					// 如果月之差是个负数,则年之差 - 1后得到周岁年龄,否则直接得到周岁年龄
					return monthDiff < 0 ? ageDiff - 1 : ageDiff // 返回周岁年龄,并终止函数执行
				}
				// 如果出生日期的月与当前时间的月相等,则拿到出生日期的日与当前时间的日之差
				const dayDiff = nowDay - birthDay;
				// 如果日之差是个负数,则年之差 - 1得到周岁年龄,否则直接得到周岁年龄
				return dayDiff < 0 ? ageDiff - 1 : ageDiff // 返回周岁年龄,并终止函数执行
			}
		},
	},
	onShow() {

	},
	mounted() {},
	methods: {
		to(url, type) {
			if (type == 2) {
				uni.switchTab({
					url: url
				})
			} else {
				uni.navigateTo({
					url
				})
			}
		},
		copy(text){
			uni.setClipboardData({
				data: text,
				success: function () {
					uni.$u.toast('复制成功')
				}
			});
		},
		getuser(){
			user.userinex().then(res => {
				if (res.data.code == 1) {
					this.userinfo = res.data.data
					this.$tn.vuex('vuex_userinfo', res.data.data)
					this.$tn.vuex('vuex_token', res.data.data.token)
				}
			})
		},
		// 读消息
		goBack() {
			uni.navigateBack()
		},
		// getuserinfo() {
		// 	user.index().then(res => {
		// 		// console.log(res)
		// 		if (res.data.code == 1) {
		// 			uni.setStorageSync('jytoken', res.data.data.data.token)
		// 			uni.setStorageSync('jyuserinfo', res.data.data.data)
		// 			uni.setStorageSync('phone', res.data.data.data.group_id)
		// 		}

		// 	})
		// },
		share() {
			let that = this
			uni.share({
				provider: "weixin",
				scene: "WXSceneTimeline",
				type: 0,
				href: "http://uniapp.dcloud.io/",
				title: "uni-app分享",
				summary: "我正在使用HBuilderX开发uni-app，赶紧跟我一起来体验！",
				imageUrl: "https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png",
				success: function(res) {
					console.log("success:" + JSON.stringify(res));
				},
				fail: function(err) {
					console.log("fail:" + JSON.stringify(err));
				}
			});
		},
		// 判断对象属性是否全部为空
		checkobj(obj) {
			for (var key in obj) {
				// console.log(obj[key])
				if (!obj[key]) {
					return false
				}
			}
			return true
		},

		msg(title, duration = 1500, mask = false, icon = 'none') {
			//统一提示方便全局修改
			if (Boolean(title) === false) {
				return;
			}
			uni.showToast({
				title,
				duration,
				mask,
				icon
			});
		},
		getmsgnum() {
			home.messageIndex().then(res => {
				uni.setStorageSync('msgnum', res.data.data[0])
				uni.setTabBarBadge({
					index: 1,
					text: String(res.data.data[0].commentUnread + res.data.data[0].destroyClass + res
						.data.data[0].goOnClass)
				})
			})
		},
		timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') {
		  let date
			// 若传入时间为假值，则取当前时间
		  if (!dateTime) {
		    date = new Date()
		  }
		  // 若为unix秒时间戳，则转为毫秒时间戳（逻辑有点奇怪，但不敢改，以保证历史兼容）
		  else if (/^\d{10}$/.test(dateTime?.toString().trim())) {
		    date = new Date(dateTime * 1000)
		  }
		  // 若用户传入字符串格式时间戳，new Date无法解析，需做兼容
		  else if (typeof dateTime === 'string' && /^\d+$/.test(dateTime.trim())) {
		    date = new Date(Number(dateTime))
		  }
			// 处理平台性差异，在Safari/Webkit中，new Date仅支持/作为分割符的字符串时间
			// 处理 '2022-07-10 01:02:03'，跳过 '2022-07-10T01:02:03'
			else if (typeof dateTime === 'string' && dateTime.includes('-') && !dateTime.includes('T')) {
				date = new Date(dateTime.replace(/-/g, '/'))
			}
			// 其他都认为符合 RFC 2822 规范
			else {
				date = new Date(dateTime)
			}
		
			const timeSource = {
				'y': date.getFullYear().toString(), // 年
				'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月
				'd': date.getDate().toString().padStart(2, '0'), // 日
				'h': date.getHours().toString().padStart(2, '0'), // 时
				'M': date.getMinutes().toString().padStart(2, '0'), // 分
				's': date.getSeconds().toString().padStart(2, '0') // 秒
				// 有其他格式化字符需求可以继续添加，必须转化成字符串
			}
		
		  for (const key in timeSource) {
		    const [ret] = new RegExp(`${key}+`).exec(formatStr) || []
		    if (ret) {
		      // 年可能只需展示两位
		      const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0
		      formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex))
		    }
		  }
		
		  return formatStr
		},
		// 预览
		preview(urls, i) {
			uni.previewImage({
				urls,
				current: i
			});
		},
		callphone(phoneNumber) {
			uni.makePhoneCall({
				phoneNumber, //仅为示例
				fail() {

				}
			});
		}
	}

};